package com.isunland.managesystem.entity;

import com.google.gson.annotations.JsonAdapter;
import com.isunland.managesystem.R;
import com.isunland.managesystem.base.BaseModel;
import com.isunland.managesystem.utils.FullDateSeriallizer;
import java.util.HashMap;

/**
 * 对象功能:配送货记录表 Model对象
 * 开发公司:北京信普达系统工程有限公司
 * 开发人员:zyl
 * 创建时间:2015-12-03 16:45:50
 */
public class rDistributionMain extends BaseModel {
  public static final String NEW = "new";
  public static final String WAIT_CHECK = "waitCheck";
  public static final String WAIT_SIGN = "waitSign";
  public static final String CHECK_PASS = "checkPass";
  public static final String ABORT = "abort";
  // 主键
  protected String id;
  // 默认排序字段
  protected Long orderNo;
  // 默认备注字段
  protected String remark;
  // 登记人ID
  protected String regStaffId;
  // 登记人名称
  protected String regStaffName;
  // 登记人时间
  @JsonAdapter(FullDateSeriallizer.class) protected java.util.Date regDate;
  // 会员编码
  protected String memberCode;
  // 会员名称
  protected String memberName;
  //签收时间
  protected String signTime;
  // 关联主表ID
  protected String mainId;
  // 配送负责人ID
  protected String distributionStaffId;
  // 配送负责人名称
  protected String distributionStaffName;
  // 主要物品
  protected String mainGoods;
  // 客户Id
  protected String customerId;
  // 客户名称
  protected String customerName;
  // 是否为第三方物流
  protected String ifThirdlogistics;
  // 物流公司
  protected String logisticsCompany;
  // 物流单号
  protected String logisticsNumber;
  // 配送日志
  protected String distributionLog;
  // 其他说明
  protected String otherInstructions;
  // 数据状态
  protected String dataStatus;
  // 审核人ID
  protected String checkStaffId;
  // 审核人姓名
  protected String checkStaffName;
  // 审核日期
  @JsonAdapter(FullDateSeriallizer.class) protected java.util.Date checkDate;
  // 配送地址
  protected String distributionAddress;
  //关联销售订单/合同ID
  protected String contractId;
  //关联出库单ID
  protected String moutbillId;
  //关联销售订单/合同名称
  protected String contractName;
  //关联出库单名称
  protected String moutbillName;
  // 配送费用
  protected String distributionCost;
  // 是否支付
  protected String ifPay;
  // 配送费总和
  protected String queryCost;
  // 签收人
  protected String signStaffName;
  // 签收人签名PATH
  protected String signAutograph;
  // 签收人签名NAME
  protected String signAutographName;
  // 签到位置
  protected String signLocaltion;
  // 签到拍照Path
  protected String signPhoto;
  // 签到拍照名称
  protected String signPhotoName;
  // 经度
  protected String longitude;
  // 纬度
  protected String latitude;
  protected String runId;

  public String getSignTime() {
    return signTime;
  }

  public void setSignTime(String signTime) {
    this.signTime = signTime;
  }

  /**
   * 返回 主键
   */
  public String getId() {
    return this.id;
  }

  public void setId(String id) {
    this.id = id;
  }

  /**
   * 返回 默认排序字段
   */
  public Long getOrderNo() {
    return this.orderNo;
  }

  public void setOrderNo(Long orderNo) {
    this.orderNo = orderNo;
  }

  /**
   * 返回 默认备注字段
   */
  public String getRemark() {
    return this.remark;
  }

  public void setRemark(String remark) {
    this.remark = remark;
  }

  /**
   * 返回 登记人ID
   */
  public String getRegStaffId() {
    return this.regStaffId;
  }

  public void setRegStaffId(String regStaffId) {
    this.regStaffId = regStaffId;
  }

  /**
   * 返回 登记人名称
   */
  public String getRegStaffName() {
    return this.regStaffName;
  }

  public void setRegStaffName(String regStaffName) {
    this.regStaffName = regStaffName;
  }

  /**
   * 返回 登记人时间
   */
  public java.util.Date getRegDate() {
    return this.regDate;
  }

  public void setRegDate(java.util.Date regDate) {
    this.regDate = regDate;
  }

  /**
   * 返回 会员编码
   */
  public String getMemberCode() {
    return this.memberCode;
  }

  public void setMemberCode(String memberCode) {
    this.memberCode = memberCode;
  }

  /**
   * 返回 会员名称
   */
  public String getMemberName() {
    return this.memberName;
  }

  public void setMemberName(String memberName) {
    this.memberName = memberName;
  }

  /**
   * 返回 关联主表ID
   */
  public String getMainId() {
    return this.mainId;
  }

  public void setMainId(String mainId) {
    this.mainId = mainId;
  }

  /**
   * 返回 配送负责人ID
   */
  public String getDistributionStaffId() {
    return this.distributionStaffId;
  }

  public void setDistributionStaffId(String distributionStaffId) {
    this.distributionStaffId = distributionStaffId;
  }

  /**
   * 返回 配送负责人名称
   */
  public String getDistributionStaffName() {
    return this.distributionStaffName;
  }

  public void setDistributionStaffName(String distributionStaffName) {
    this.distributionStaffName = distributionStaffName;
  }

  /**
   * 返回 主要物品
   */
  public String getMainGoods() {
    return this.mainGoods;
  }

  public void setMainGoods(String mainGoods) {
    this.mainGoods = mainGoods;
  }

  public String getCustomerId() {
    return customerId;
  }

  public void setCustomerId(String customerId) {
    this.customerId = customerId;
  }

  public String getCustomerName() {
    return customerName;
  }

  public void setCustomerName(String customerName) {
    this.customerName = customerName;
  }

  /**
   * 返回 是否为第三方物流
   */
  public String getIfThirdlogistics() {
    return this.ifThirdlogistics;
  }

  public void setIfThirdlogistics(String ifThirdlogistics) {
    this.ifThirdlogistics = ifThirdlogistics;
  }

  /**
   * 返回 物流公司
   */
  public String getLogisticsCompany() {
    return this.logisticsCompany;
  }

  public void setLogisticsCompany(String logisticsCompany) {
    this.logisticsCompany = logisticsCompany;
  }

  /**
   * 返回 物流单号
   */
  public String getLogisticsNumber() {
    return this.logisticsNumber;
  }

  public void setLogisticsNumber(String logisticsNumber) {
    this.logisticsNumber = logisticsNumber;
  }

  /**
   * 返回 配送日志
   */
  public String getDistributionLog() {
    return this.distributionLog;
  }

  public void setDistributionLog(String distributionLog) {
    this.distributionLog = distributionLog;
  }

  /**
   * 返回 其他说明
   */
  public String getOtherInstructions() {
    return this.otherInstructions;
  }

  public void setOtherInstructions(String otherInstructions) {
    this.otherInstructions = otherInstructions;
  }

  /**
   * 返回 数据状态
   */
  public String getDataStatus() {
    return this.dataStatus;
  }

  public void setDataStatus(String dataStatus) {
    this.dataStatus = dataStatus;
  }

  /**
   * 返回 审核人ID
   */
  public String getCheckStaffId() {
    return this.checkStaffId;
  }

  public void setCheckStaffId(String checkStaffId) {
    this.checkStaffId = checkStaffId;
  }

  /**
   * 返回 审核人姓名
   */
  public String getCheckStaffName() {
    return this.checkStaffName;
  }

  public void setCheckStaffName(String checkStaffName) {
    this.checkStaffName = checkStaffName;
  }

  /**
   * 返回 审核日期
   */
  public java.util.Date getCheckDate() {
    return this.checkDate;
  }

  public void setCheckDate(java.util.Date checkDate) {
    this.checkDate = checkDate;
  }

  public String getDistributionAddress() {
    return distributionAddress;
  }

  public void setDistributionAddress(String distributionAddress) {
    this.distributionAddress = distributionAddress;
  }

  public String getContractId() {
    return contractId;
  }

  public void setContractId(String contractId) {
    this.contractId = contractId;
  }

  public String getMoutbillId() {
    return moutbillId;
  }

  public void setMoutbillId(String moutbillId) {
    this.moutbillId = moutbillId;
  }

  public String getContractName() {
    return contractName;
  }

  public void setContractName(String contractName) {
    this.contractName = contractName;
  }

  public String getMoutbillName() {
    return moutbillName;
  }

  public void setMoutbillName(String moutbillName) {
    this.moutbillName = moutbillName;
  }

  public String getDistributionCost() {
    return distributionCost;
  }

  public void setDistributionCost(String distributionCost) {
    this.distributionCost = distributionCost;
  }

  public String getIfPay() {
    return ifPay;
  }

  public void setIfPay(String ifPay) {
    this.ifPay = ifPay;
  }

  public String getRunId() {
    return runId;
  }

  public void setRunId(String runId) {
    this.runId = runId;
  }

  public String getQueryCost() {
    return queryCost;
  }

  public void setQueryCost(String queryCost) {
    this.queryCost = queryCost;
  }

  public String getSignStaffName() {
    return signStaffName;
  }

  public void setSignStaffName(String signStaffName) {
    this.signStaffName = signStaffName;
  }

  public String getSignAutograph() {
    return signAutograph;
  }

  public void setSignAutograph(String signAutograph) {
    this.signAutograph = signAutograph;
  }

  public String getSignAutographName() {
    return signAutographName;
  }

  public void setSignAutographName(String signAutographName) {
    this.signAutographName = signAutographName;
  }

  public String getSignLocaltion() {
    return signLocaltion;
  }

  public void setSignLocaltion(String signLocaltion) {
    this.signLocaltion = signLocaltion;
  }

  public String getSignPhoto() {
    return signPhoto;
  }

  public void setSignPhoto(String signPhoto) {
    this.signPhoto = signPhoto;
  }

  public String getSignPhotoName() {
    return signPhotoName;
  }

  public void setSignPhotoName(String signPhotoName) {
    this.signPhotoName = signPhotoName;
  }

  public String getLongitude() {
    return longitude;
  }

  public void setLongitude(String longitude) {
    this.longitude = longitude;
  }

  public String getLatitude() {
    return latitude;
  }

  public void setLatitude(String latitude) {

    this.latitude = latitude;
  }

  public StatusProperty getStatusConfig(String dataStatus) {
    HashMap<String, StatusProperty> map = new HashMap<>();
    map.put(NEW, new StatusProperty("草稿", R.color.red));
    map.put(WAIT_CHECK, new StatusProperty("提交", R.color.blue_textColor));
    map.put(WAIT_SIGN, new StatusProperty("配送中", R.color.yelloy_textColor));
    map.put(CHECK_PASS, new StatusProperty("已签收", R.color.grey));
    map.put(ABORT, new StatusProperty("取消提交", R.color.red));

    return map.containsKey(dataStatus) ? map.get(dataStatus)
        : new StatusProperty("", android.R.color.primary_text_dark);
  }
}